<!DOCTYPE html>
<html xmlns:th="http://www.w3.org/1999/xhtml" xmlns:shiro="http://www.w3.org/1999/xhtml">
<meta charset="utf-8">
<head th:include="include :: header"></head>
<body class="gray-bg">
<div class="wrapper wrapper-content ">
    <div class="col-sm-12">
        <div class="ibox">
            <div class="ibox-body">
                <div class="fixed-table-toolbar">
                    <div class="columns pull-left">
                        <button type="button" class="btn  btn-primary" onclick="add()" shiro:hasPermission="jzweb:bookConfig:save">
                            <i class="fa fa-plus" aria-hidden="true"></i>添加
                        </button>
                    </div>
                </div>
                <table id="exampleTable" data-mobile-responsive="true">
                </table>
            </div>
        </div>
    </div>
</div>
<!--shiro控制bootstraptable行内按钮看见性 -->
<div>
    <script type="text/javascript">
        var s_edit_h = 'hidden';
        var s_remove_h = 'hidden';
        var s_resetPwd_h = 'hidden';
    </script>
</div>
<div shiro:hasPermission="jzweb:bookConfig:edit">
    <script type="text/javascript">
        s_edit_h = '';
    </script>
</div>
<div shiro:hasPermission="jzweb:bookConfig:remove">
    <script type="text/javascript">
        var s_remove_h = '';
    </script>
</div>
<div shiro:hasPermission="jzweb:order:resetPwd">
    <script type="text/javascript">
        var s_resetPwd_h = '';
    </script>
</div>
</div>
<div th:include="include :: footer"></div>
<!--	<script type="text/javascript" src="/js/webJs/jzweb/order/order.js"></script>-->
<script>
    var prefix = "/jzweb/bookConfig";
    $(function () {
        load();
    });
    $(document).on('click', '.config-property-btn', function (e) {
        e.preventDefault(); // 阻止默认行为
        var id = $(this).data('id'); // 获取data-id
        var rowDataStr = $(this).data('list'); // 获取data-list
        var rowData = JSON.parse(decodeURIComponent(rowDataStr)); // 解码并解析JSON字符串

        // 现在你可以使用rowData对象了
        edit(id, rowData);
    });

    function load() {
        $('#exampleTable')
            .bootstrapTable(
                {
                    method: 'POST', // 服务器数据的请求方式 get or post
                    url: prefix + "/list", // 服务器数据的加载地址
                    //	showRefresh : true,
                    //	showToggle : true,
                    //	showColumns : true,
                    iconSize: 'outline',
                    toolbar: '#exampleToolbar',
                    striped: true, // 设置为true会有隔行变色效果
                    dataType: "json", // 服务器返回的数据类型
                    pagination: true, // 设置为true会在底部显示分页条
                    singleSelect: false, // 设置为true将禁止多选
                    contentType: "application/x-www-form-urlencoded",
                    // //发送到服务器的数据编码类型
                    pageSize: 10, // 如果设置了分页，每页数据条数
                    pageNumber: 1, // 如果设置了分布，首页页码
                    //search : true, // 是否显示搜索框
                    showColumns: false, // 是否显示内容下拉框（选择显示的列）
                    sidePagination: "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
                    queryParamsType: "",
                    // //设置为limit则会发送符合RESTFull格式的参数
                    queryParams: function (params) {
                        return {
                            //说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                            current: params.pageNumber,
                            size: params.pageSize,
                        };
                    },
                    // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                    // queryParamsType = 'limit' ,返回参数必须包含
                    // limit, offset, search, sort, order 否则, 需要包含:
                    // pageSize, pageNumber, searchText, sortName,
                    // sortOrder.
                    // 返回false将会终止请求
                    responseHandler: function (res) {
                        return {
                            "total": res.data.total,//总数
                            "rows": res.data.records   //数据
                        };
                    },
                    columns: [
                        // {
                        //     checkbox: true
                        // },
                        {
                            field: 'bookName',
                            title: '书籍名称',

                        },
                        {
                            field: 'typeName',
                            title: '类型名称'
                        },
                        {
                            field: 'price',
                            title: '单价',
                            formatter: function (value, row, index) {
                                let a =value + '元'
                                return a;
                            }
                        },

                        {
                            field: 'createrDate',
                            title: '创建时间',
                            width: '200px',
                        },
                        {
                            title: '操作',
                            field: 'id',
                            align: 'center',
                            formatter: function (value, row, index) {
                                var e = '<a class="btn btn-primary btn-sm config-property-btn '+ s_edit_h +'" data-list="' + encodeURIComponent(JSON.stringify(row)) + '" data-id="' + row.id + '" href="#" mce_href="#" title="编辑">编辑</a>';
                                var d = row.state == 0 ? '<a class="btn btn-warning btn-sm " href="#" title="禁用" mce_href="#" onclick="disable(\''
                                    + row.id
                                    + '\')">禁用</a>' : '<a class="btn btn-success btn-sm " href="#" title="启动"  mce_href="#" onclick="start(\''
                                    + row.id
                                    + '\')">启动</a>';
                                var f = '<a class="btn btn-danger btn-sm '+ s_remove_h +'" href="#" title="删除"  onclick="remove(\''
                                    + row.id
                                    + '\')">删除</a>';
                                return e + f;
                            }
                        }
                    ]
                });
    }

    function reLoad() {
        $('#exampleTable').bootstrapTable('refresh');
    }

    function add() {
        layer.open({
            type: 2,
            title: '增加',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '500px'],
            content: prefix + '/add' // iframe的url
        });
    }

    function edit(id, rowData) {
        sessionStorage.setItem('bookConfig', JSON.stringify(rowData))
        layer.open({
            type: 2,
            title: '编辑',
            maxmin: true,
            shadeClose: false, // 点击遮罩关闭层
            area: ['800px', '500px'],
            content: prefix + '/edit/' + id // iframe的url
        });
    }

    function start(id){
        layer.confirm('确定要启用该商品类型吗？', {
            btn: ['确定', '取消']
        }, function () {
            $.ajax({
                url: prefix + "/disable",
                type: "post",
                contentType: "application/x-www-form-urlencoded",
                data: {
                    'id': id,
                    'state':0
                },
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        })
    }

    function disable(id) {
        layer.confirm('确定要禁用该商品类型吗？', {
            btn: ['确定', '取消']
        }, function () {
            $.ajax({
                url: prefix + "/disable",
                type: "post",
                contentType: "application/x-www-form-urlencoded",
                data: {
                    'id': id,
                    'state':1
                },
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        })
    }

    function remove(id) {
        layer.confirm('确定要删除选中的记录？', {
            btn: ['确定', '取消']
        }, function () {
            $.ajax({
                url: prefix + "/remove",
                type: "POST",
                contentType: "application/x-www-form-urlencoded",
                data: {
                    'id': id
                },
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        })
    }

    function resetPwd(id) {
    }

    function batchRemove() {
        var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
        if (rows.length == 0) {
            layer.msg("请选择要删除的数据");
            return;
        }
        layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
            btn: ['确定', '取消']
            // 按钮
        }, function () {
            var ids = new Array();
            // 遍历所有选择的行数据，取每条数据对应的ID
            $.each(rows, function (i, row) {
                ids[i] = row['id'];
            });
            $.ajax({
                type: 'POST',
                data: {
                    "ids": ids
                },
                url: prefix + '/batchRemove',
                success: function (r) {
                    if (r.code == 0) {
                        layer.msg(r.msg);
                        reLoad();
                    } else {
                        layer.msg(r.msg);
                    }
                }
            });
        }, function () {

        });
    }
</script>
</body>
</html>